﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace ManagedVC1
{    
    [StructLayout(LayoutKind.Sequential)]
    public struct ConfigProperties
    {   
        public double dBitRate;
        public uint dwComplexityLevel;
        public uint dwQP;
        public double dFrameRate;
        public bool bInterlacedSource;
        public uint dwMaxKeyFrameDistance;
        public uint dwMaxHeight;
        public uint dwMaxWidth;
        public uint dwNumOfBFrames;
        public double dPeakBitRate;
        public uint dwProfile;
        public uint dwRateControlMode;
        public uint dwVBVBufferInBytes;
    }
 
    [StructLayout(LayoutKind.Sequential)]
    public struct QuantProperties
    {
        public uint dwAdaptiveQuant;
        public uint dwDQuantOption;
        public uint dwDQuantPStrength;
        public uint dwDQuantBStrength;
    }

    [StructLayout(LayoutKind.Sequential)]
    public struct Filters
    {
        public bool bDenoise;
        public bool bInLoop;
        public bool bMedian;
        public bool bOverlapSmoothing;
        public bool bNoiseEdgeRemoval;
    }
}
